Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.09.2016, 18:05
Профессор
Отправить личное сообщение для torsar Посмотреть профиль Найти все сообщения от torsar
 
Регистрация: 06.01.2012
Сообщений: 409

не работает cors к API Почты для домена yandex
https://tech.yandex.ru/pdd/doc/refer...-list-docpage/

Код:
function loadList() {
			var xhr = new XMLHttpRequest();
			var host = "pddimp.yandex.ru";
			var  getStr = "/api2/admin/email/list";
			var  pddToken = "token";
			var  req ="https://"+ host+getStr+"?"+"domain="+domain;
			//alert(req);
			xhr.onload = function() {
				alert(this.responseText);
			}
			xhr.onerror = function() {
				alert( 'Ошибка ' + this.status +'; '+this.statusText);
			}
			xhr.open("GET", req, true);
			xhr.setRequestHeader("Host", host);
			xhr.setRequestHeader("pddToken", pddToken);
			//xhr.setRequestHeader("OPTIONS", pddToken);
			xhr.send();
		}


Браузер в консоли выдает:

Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на https://pddimp.yandex.ru/api2/admin/...luginmakerz.tk. (Причина: отсутствует заголовок CORS 'Access-Control-Allow-Origin').

Заголовок запроса:

Host: pddimp.yandex.ru
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:48.0) Gecko/20100101 Firefox/48.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: GET
Access-Control-Request-Headers: pddtoken
Origin: http://my.loc:8080
Connection: keep-alive


Заголовок ответа:

Allow: HEAD, OPTIONS, GET
Connection: keep-alive
Content-Length: 0
Content-Type: text/html; charset=utf-8
Date: Mon, 05 Sep 2016 14:56:44 GMT
Server: nginx/1.8.1
Strict-Transport-Security: max-age=31536000
X-Frame-Options: SAMEORIGIN


Я так понял не понимает заголовок pddToken
xhr.setRequestHeader("pddToken", pddToken);

И почему сервак не возвращает заголовок:
Access-Control-Allow-Origin

В чем могут быть проблемы?
Ответить с цитированием
  #2 (permalink)  
Старый 05.09.2016, 18:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от torsar
В чем могут быть проблемы?
Не разрешен доступ с чужого домена, в ошибке указано - нет авторизации. Либо в этом причина отказа, либо API только для сервера. Кстати протокол нужно указывать, соединение то безопасное предполагается.
Ответить с цитированием
  #3 (permalink)  
Старый 06.09.2016, 14:45
Профессор
Отправить личное сообщение для torsar Посмотреть профиль Найти все сообщения от torsar
 
Регистрация: 06.01.2012
Сообщений: 409

А можно с http отправлять cors на https?
Ответить с цитированием
  #4 (permalink)  
Старый 06.09.2016, 15:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от torsar
А можно с http отправлять cors на https?
Спецификацией запрещен запрос с https на http, но IE также отвергнет запрос с http на https.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Некорректно работает функция для создания элементов exec Общие вопросы Javascript 4 13.07.2010 11:15
jQuery.load работает для чужих доменов? khusamov Общие вопросы Javascript 4 15.07.2009 22:00
скрипт multibox для joomla - не работает в опере lamanzh Opera, Safari и др. 17 26.06.2009 12:35
Не работает AppendChild для div, причём только в IE _Kpot_ Internet Explorer 5 12.02.2009 10:55